如果把你的一生都记录到数据库中
The following article is from code秘密花园 Author ConardLi
大家好,我是鱼皮。
最近发现了一个非常有意思的开源项目:howisfelix.today
,这个项目里记录了作者详细的日常生活指标。
比如:身高、体重、昨晚睡了几小时、最后一次锻炼是在什么时间、使用了多长时间电脑、收件箱有多少封邮件、代办事项还有多少未完成 ...
从 2019
年开始,作者(KrauseFx
)就开始收集关于他生活的各种指标。在过去的 3 年中,他每天都会坚持跟踪记录 100
多种不同的数据类型 — 从健身、营养到社交、电脑使用和天气情况等等。
为啥要记录?
为啥要做这么多详细的记录呢?原因是这些大量的多维度的指标可以帮助我们进行各种有意思的分析,比如:
当我旅行时,生活中有哪些方面会受到影响(健身进度、生产率、压力、健康、睡觉)? 生活在不同的城市对健康、生产力和幸福感等其他因素有啥影响? 计算机时间、工作和会议时间如何影响我的个人生活? 睡眠会如何影响我的一天、我的健康水平和幸福感? 某些宏观目标如何影响我的瘦体重和脂肪水平? 我每天的大卡摄入量如何影响我的社交生活? 我在手机和笔记本电脑上花了多少小时? 天气和不同的季节会如何影响我的生活? 过去几年我的生活有什么变化趋势吗? 酒精如何影响我的训练和健身情况?
都要记录些啥?
目前,数据库中已经插入了 40W+
条记录,当然这些记录肯定不都是手动记录,其中也包括 RescueTime、Foursquare Swarm、Apple Health
等应用 API
的自动插入。
RescueTime
:日常电脑的使用情况(访问了哪个网站,哪个应用程序);Foursquare Swarm
:位置和 POI 数据,作者去过的地方;纯手动输入
:健身、心情、睡眠、社交生活、健康、营养、能量水平、电视、压力……;手动输入的日期范围
:职业,状态,生活;天气 API
:温度、雨水、阳光、风;Apple Health
:每天的运动情况。
虽然有很多辅助的 API,有很多项还是要依靠手动输入的,说实话真的佩服作者的毅力。
一些统计结果
作者在他的个人网站上公开了一些基于自己记录的数据进行统计得出的一些有意思的结论:
情绪对生活的影响
当自己的情绪为“快乐”和“兴奋”的日子里,生活有下面的变化:
当天冥想的可能性增加 44%
当天饮酒的可能性增加 31%
(聚会等)阅读或收听有声读物的时间增加 28%
解决一些技术问题的可能性增加 26%
当天气温升高 26%
当天学到新东西的可能性增加 20%
当天花在视频和音频通话上的时间减少 45%
用表格量化每周生活
黄色区域:表示没有积极的全职工作 蓝色区域:表示全职工作 红色区域:表示接受教育
表格模版:https://www.producthunt.com/products/your-life-in-weeks#your-life-in-weeks
,你也可以基于此模版生成自己的每周统计,当然前提是你已经做了大量的记录。
平均每日步数统计
过去 8
年总共走了22,830,860
步我在纽约时的步行的次数是其他城市的两倍多(在纽约时,只要不到 40
分钟,作者就会选择步行而不是乘坐公共交通工具。作者用那段时间打电话给朋友和家人,或者听有声读物)虽然维也纳非常适合步行,但地铁每 3-5
分钟一班的优秀公共交通系统导致作者步行较少
体重和静息心率
这张图清晰地显示了作者的体重和睡眠/休息心率之间的相关性。静息心率由 Withings ScanWatch
在睡眠时测量,代表心脏在不活动时的工作强度。一般来说,静息心率越低越好。
2020 年 8 月,作者开始健身(控制体重增加并每周进行 5
次锻炼);从 2020 年 8 月到 2021 年 3 月,静息心率从 58bpm
上升到67bpm
,体重增加了+8.5
公斤;2021 年 7 月和 8 月静息心率飙升是由于奥地利的酒吧和夜总会再次开放; 晚上喝酒后,静息/睡眠心率比不喝酒的一晚高出约 50%
;2021 年 10、11、12 月静息心率飙升是由于患上了支气管炎和感冒/流感,没有及早得到正确的治疗。
健康状况统计
黄色表示感觉有点不适,本身并没有生病;红色表示生病了,不得不待在家里;绿色表示感到精力充沛和健康。
在新冠封锁期间,作者倾向于保持健康。这可能是由于不出门,不酗酒,与他人的近距离接触少等,导作者我睡得更好。 通常在过度旅行期间会生病(感冒/流感)
喝酒对生活的影响
在喝了超过 4
杯酒精饮料的日子里(可能在聚会),以下其他因素受到影响
跳舞的可能性增加 21
倍当天或后天小睡的可能性增加 80%
与朋友共度的时间增加 60%
温度升高 40%
,降水减少40%
。由于过去 2 年的封锁,冬季聚会的机会并不多。此外,当外面天气好的时候,人们更有动力出去。
位置记录
作者很能飞啊 ...
新冠封控的影响
与朋友进行音频和视频通话的时间增加 200%
(与工作无关)遵循膳食计划的可能性增加 60%
(宏量和卡路里)减少 24%
的步骤酒精饮料减少 40%
温度降低 50%
:封锁往往发生在秋季和冬季跳舞的可能性降低 100%
走路对生活的影响
在步行超过 15,000
步的日子里(过去 3 年平均每天步行 9200
步):
在现实生活中与朋友共度的时间增加 60%
当天气温升高 50%
睡前与朋友社交的可能性增加 40%
周末的可能性增加 35%
当天小睡的可能性降低 20%
在工作电话/会议上花费的时间减少 30%
减少 30%
的焦虑编写代码的时间减少 40%
下雨天的可能性降低 40%
看电视的时间减少 50%
睡眠对生活的影响
总睡眠时间超过 8.5
小时的日子里,以下其他因素受到影响:
出现感冒症状的可能性增加 65%
头痛的可能性增加 60%
社交媒体使用量增加 40%
下雨天的可能性增加 30%
周末的可能性增加 20%
做坏梦/压力大的梦的可能性增加 15%
平均气温降低 12%
当天去健身房的可能性降低 20%
减少 24%
的能源
夏天对生活的影响
洗冷水澡的几率增加了 100%
多走 33%
的步数去健身房的可能性增加 30%
酒精饮料增加 23%
(夏季没有新冠封锁)阅读新闻和观点的时间减少 20%
生病的可能性降低 40%
在电脑上花在娱乐上的时间减少 40%
做恶梦的可能性降低 30%
我们可以用吗?
当然可以,这个项目已经开源:https://github.com/KrauseFx/FxLifeSheet
。
可以尝试下把仓库克隆到本地后,执行:
npm run dev
这实际上就是一个 Telegram
机器人,它为我们提供了一些快捷命令,通过它们你可以快捷添加、删除、回答问题:
awake
:触发每天早上的问题睡眠时间 睡眠质量 体重 ... asleep
:触发每天晚上的问题身体相关(酒精、咖啡因、能量摄入) 生产力相关(解决实际编程/技术问题了吗) 个人成长相关(学到新东西了吗) 社交相关(酒吧、餐馆、跳舞) ... week
:触发每周一次的问题健身(体脂率) 效率(平均每天使用电脑手机的时间) ... skip
:跳过一个被问到的问题report
:生成一个报告
当然这只包括手动记录的部分,一些其他的 API,比如 Apple Health
需要替换为我们自己的服务,全部设置完成还是比较繁琐的。
你可以在本地创建一个新的 Postgres
数据库,并运行 db/create_tables.sql
中定义的 SQL 查询:
往期推荐